use std::net::TcpStream;
use std::io::{Read, Write};

fn main() {
    // 要连接的服务器地址和端口，这里以本地回环地址 127.0.0.1 和端口 8080 为例，你可以根据实际情况修改
    let addr = "127.0.0.1:8080";
    match TcpStream::connect(addr) {
        Ok(mut stream) => {
            // 要发送给服务器的消息
            let message = "Hello, Server!";
            // 将消息转换为字节切片并发送给服务器
            stream.write(message.as_bytes()).expect("写入到服务器失败");
            println!("已向服务器发送消息: {}", message);

            let mut buffer = [0; 1024];
            match stream.read(&mut buffer) {
                Ok(size) => {
                    // 将接收到的字节切片转换为字符串并输出（去除可能多余的空字节）
                    let response = String::from_utf8_lossy(&buffer[0..size]);
                    println!("从服务器接收到响应: {}", response);
                }
                Err(e) => {
                    println!("读取服务器响应出错: {}", e);
                }
            }
        }
        Err(e) => {
            println!("连接服务器失败: {}", e);
        }
    }
}